"""
局域网存活IP检测
* 前置知识：subprocess、IP地址处理模块（ipaddress）
* 输入内容：要检查的网段、子网掩码 (输入：192.168.0.0/24)
* 输出示例： 192.168.0.1已被使用
* 将输出结果放到文件
* 将可能存在异常的地方需要做相应处理

"""
import subprocess
import ipaddress
#检查ip的有效性
def check_ip(ip):
    try:
        ipaddress.ip_address(ip.strip())
        return True
    except Exception as e:
        print(e)
        return False
ip1=input("请输入要检查的网段和子网掩码：")
ip2=ip1[:len(ip1)-3]
ip_check=check_ip(ip2)
a=subprocess.run(f"ping {ip_check}",shell=True)
with open("ip_check.txt","w",encoding="utf-8") as fp:
    if a:
        fp.write(f"{ip2}已被使用")
